kexi project
Rapid Database Application Development
Development
"Microsoft Access for Linux"

Home Download FAQ Support Features Handbook Screenshots Screencasts Compile Kexi Development Authors Contact License Sponsorship Translate This Site

wiki navigation:

Front Page
[info] [diff] [login]
[recent changes]
[most popular]
You can donate
to Kexi Project:
Via PayPal

Spread the word about Kexi!
Get Kexi Now!

Built on the KDE technology
KDE

Member of the Calligra Suite

No Software Patents!

Forms: New Factory System

Current system based on factories is dropped. WidgetInfo is now used not only as a struct, but as the basis of factories. New factories will just contain one function which create a WidgetInfo for each widget type.

WidgetInfo Class Basic properties (already in current WidgetInfo)

These properties could be stored, in WidgetInfoData.

  • className(), caption() (replace name()), description(), pixmap()
  • other more specific names: namePrefix(), savingName() (used in UI file)
  • includeFile()

Widget creation

  • createWidget(QWidget *parent, const char *name, KFormDesigner::Container *container) (orienation choice will be done inside the function with std function)
  • saveWidgetProperties() : save widget special properties (don't need to be stored anymore), eg widget content
  • readWidgetProperties() : read widget special properties ; eg widget content

Widget properties

  • setupWidgetProperties() : set properties option, change properties visibility, autoSync

Actions

  • widgetActions() : return actions related to this widget type, connected to WidgetInfo slots. These actions will eg be plugged into context popup menu
  • editWidget() (same as WidgetFactory::startEditing) : WidgetInfo will also have virtual slots (slotTextChanged, slotWidgetResized, etc) to tweak std editor behaviour

Special properties

What about a WidgetInfo::setOption(QCString name, QVariant value) with available options: OverrideParentWidgetInfo=true|false, etc.

Inheriting

Thanks to this new system, inheriting std class (eg std line edit) behaviour will be done automatically by C++ inheritance.



Kexi - "MS Access for Linux" ... and Windows
© Kexi Team
This content is available under GFDL
Last edited: July 7, 2005 by js, visited 0 times.